package thread;
//1.创建一个自己的类来继承表转库的类
//Thread不用导包,Java标准库中有一个特殊的包为java.lang不用手动导入,其中的类可以直接使用.
//一个java文件只能由一个public类,如果没有public那么这个类就是包级作用,就是只能在当前包里被其它类引用
class MyThread extends Thread{
    @Override//有这个可以让编译器对我们的代码进行自动检查,包括不限于final , throws
    public void run() {
        //run方法就是该线程的入口方法.
        //main方法是java进程的入口方法,一样的道理,以后把跑起来的程序称为进程,而exe没跑起来称为可执行文件
        //一个进程中至少由一个线程,而这个进程中的第一个方法称为"主线程"
        //此处的run方法不需要程序员手动调用,而是在合适的实际会被JVM调用.这种风格的函数称为回调函数
        //回调函数run则需要根据我们的需求或者业务进行改写
        System.out.println("hello world!");
    }
}
public class ThreadDemo1 {
    public static void main(String[] args) {
        //根据当前的类传作一个实例
        Thread t = new MyThread();
        //调用Thread 的Start 方法才能在系统内核中创造出线程;
        t.start();
        //虽然没有手动调用run但是他还是执行,Java虚拟机JVM调用的
        //当引入多线程之后,代码中就可以同时具备多个执行流了
        String s = "a,b,c";
        String a = new String("a,b,c");
        System.out.println(s == a);
        System.out.println(a.equals(s));

    }
}
